/*
 * OSXListener.java
 *
 *  Copyright (C) 2010 Tal Eisenberg
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package drivechain;

import tal.drivechain.chain.script.ScriptCommand;
import tal.drivechain.chain.shell.DriveShell;
import tal.drivechain.system.Globals;
import tal.drivechain.system.Splasher;

/**
 *
 * @author eisental
 */
public class OSXListener {

    public OSXListener() {
    }

    public void about() {
        Splasher s = new Splasher();
        s.showAbout();
    }

    public void openApplication() {
    }

    public void openFile(String path) {
        System.out.println("Open file: " + path);
        DriveShell shell = new DriveShell(System.out);
        if (path.endsWith(".dsh")) {
            shell.runCommand(ScriptCommand.parseScriptCommand("run " + path));
        } else {
            // chain script
            shell.runCommand(ScriptCommand.parseScriptCommand("set active root"));
            shell.runCommand(ScriptCommand.parseScriptCommand("load chain from " + path));
            shell.runCommand(ScriptCommand.parseScriptCommand("open active"));
        }
    }

    public void preferences() {
    }

    public void printFile() {
    }

    public void quit() {
        Globals.getRootChain().stop();
        System.exit(0);
    }

    public void reOpenApplication() {
    }

}
